Logic designs for integrated circuits (IC) typically include either schematic design or text design. A schematic design shows a computer chip with logic elements as a two-dimension diagram. Logic elements are either state elements (e.g., flip-flops, latches, etc.) or combinatorial elements (e.g. AND gates, NOR gates, etc.). Various geometric figures represent the logic elements. Lines drawn into or out of the logic elements generally represent input, output, clock, or enabling signals. Lines connecting such geometric shapes indicate a functional logic relationship between the logic elements.
A textual representation describes the logic elements of the computer chip using one-dimensional text lines. Textual representations are used in hardware description languages (HDLs) which allow designers to simulate logic designs prior to forming the logic on silicon. Examples of such languages include Verilog and Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL). Using these languages, a designer can write code to simulate a logic design and execute the code in order to determine if the logic design performs properly.
Standard computer languages may also be used to simulate a logic design. One example of a standard computer language that may be used is C++.